const mongoose = require("mongoose")

// 连接数据库,当插入第一条数据的时候simon数据库将会自动被创建
mongoose.connect("mongodb://localhost/simon")

mongoose.connection.once("open", function() {
  console.log("数据库已经连接");
})

mongoose.connection.once("close", function() {
  console.log("数据库已经关闭");
})

const Schema = mongoose.Schema // 拿到Schema对象，设计表的结构

// 设计表的结构
const stuSchema = new Schema({
  name: {
    required: true,
    type: String
  },
  gender: {

    type: Number,
    enum: [0, 1, -1], // -1性别不详
    default: -1
  },
  address: {
    required: true,
    type: String,
  },
  age: {
    required: true,
    type: Number
  }
})

//将表的结构发布为模型
const stuModel = mongoose.model('student', stuSchema)

// stuModel.create([{
//   name: "simon",
//   age: 25,
//   gender: 0,
//   address: "中国"
// }, {
//   name: "simon1",
//   age: 35,
//   gender: 0,
//   address: "中国"
// }, {
//   name: "simon2",
//   age: 15,
//   gender: 1,
//   address: "中国"
// }], (err) => {
//   if (!err) {
//     console.log('插入成功');
//   }
// })

// stuModel.find({}, "name age -_id", { skip: 2, limit: 2 }, function(err, data) {
//   if (!err) {
//     console.log(data);
//   }
// })



// stuModel.update({ name: "崔帆" }, { $set: { address: "cuifan " } }, { multi: false }, (err) => {
//   if (!err) {
//     console.log('修改成功');
//   }
// })

// stuModel.find({ name: "崔帆" }, (err, data) => {
//   if (!err) {
//     console.log(data);
//   }
// })

stuModel.findOne({ name: "崔帆" }, (err, data) => {
  if (!err) {
    // data.name = "cuifan"
    // data.save((err) => {
    // if (!err) {
    //   console.log('修改成功');
    // }
    // })

    // data.update({ $set: { age: 33 } }, (err) => {
    //   if (!err) {
    //     console.log('修改成功');
    //   }
    // })

    data.remove((err) => {
      if (!err) {
        console.log("删除成功");
      }
    })
  }
})